

#include <iostream>
using namespace std;
class A
{
  public:
    A()
    {
        cout << "A CONS\n";
    }
  virtual   ~A()
    {
        cout << "A DISCONS\n";
    }

  private:
};

class B : public A
{
  public:
    B()
    {
        cout << "B CONS\n";
    }
   virtual  ~B()
    {
        cout << "B DISCONS\n";
    }

  private:
};

int main(int argc, char const *argv[])
{
    cout << "start" << endl;

    cout << "--------------" << endl;
    A *a = new B();
    delete a;
    cout << "--------------" << endl;
    B b;
    return 0;
}